//
//  CateModel.swift
//  Spookiness
//
//  Created by 腾億 on 2017/12/11.
//  Copyright © 2017年 tml. All rights reserved.
//

import Foundation
import SwiftyJSON

struct CateModel {
    var rankingList = [CateRankingListModel]()
    var topList = [CateTopLisModel]()
    var recommendSearch: String?
    init(jsonData:JSON) {
        recommendSearch = jsonData["recommendSearch"].stringValue
        if let rank = jsonData["rankingList"].arrayObject {
            for item in rank {
                let json = JSON(item)
                let model = CateRankingListModel(jsonData: json)
                rankingList.append(model)
            }
        }
        //
        if let top = jsonData["topList"].arrayObject {
            for item in top {
                let json = JSON(item)
                let model = CateTopLisModel(jsonData: json)
                topList.append(model)
            }
        }
    }
}

struct CateRankingListModel {
    var argCon: Int = 0
    var argName: String?
    var argValue: Int = 0
    var canEdit: Int = 0
    var cover: String?
    var isLike: Int = 0
    var sortId: Int = 0
    var sortName: String?
    init(jsonData:JSON) {
        argName = jsonData["argName"].stringValue
        argValue = jsonData["argValue"].intValue
        canEdit = jsonData["canEdit"].intValue
        cover = jsonData["cover"].stringValue
        isLike = jsonData["isLike"].intValue
        sortId = jsonData["sortId"].intValue
        sortName = jsonData["sortName"].stringValue
        argCon = jsonData["argCon"].intValue
    }
}

struct CateTopLisModel {
    var cover: String?
    var sortId:Int = 0
    var sortName: String?
    var uiWeight: Int = 0
    var extra : CateTypeExtraModel
    init(jsonData:JSON) {
        cover = jsonData["cover"].stringValue
        sortId = jsonData["sortId"].intValue
        sortName = jsonData["sortName"].stringValue
        uiWeight = jsonData["uiWeight"].intValue
        extra = CateTypeExtraModel(jsonData: jsonData["extra"])
    }
}

struct CateTypeExtraModel {
    var tabList = [CateTabListModel]()
    init(jsonData: JSON) {
        if let tab = jsonData["tabList"].arrayObject {
            for item in tab {
                let json = JSON(item)
                let model = CateTabListModel(jsonData: json)
                tabList.append(model)
            }
        }
    }
}

struct CateTabListModel {
    var argCon: Int = 0
    var argName: String?
    var argValue: Int = 0
    var tabTitle: String?
    init(jsonData: JSON) {
        argCon = jsonData["argCon"].intValue
        argName = jsonData["argName"].stringValue
        argValue = jsonData["argValue"].intValue
        tabTitle = jsonData["tabTitle"].stringValue
    }
}


